package adcore

import "context"

// BatchAdCreator 批量创建接口
type BatchAdCreator interface {
	BatchCreate(ctx context.Context, req BatchRequest) (BatchResult, error)
}

// BatchRequest 标准化批量请求（返回创建成功的资源ID集合）
type BatchRequest struct {
	Campaign CampaignParams // 项目/推广系列
	AdGroup  AdGroupParams  // 广告组（仅 TikTok 需要）
	Ad       AdParams       // 广告
}

// BatchResult 批量结果
type BatchResult struct {
	CampaignIDs []string
	AdGroupIDs  []string
	AdIDs       []string
}

// 参数结构体（带平台扩展字段）
type CampaignParams struct {
	Name        string
	Template    interface{}
	PlatformExt map[string]interface{}
}

type AdGroupParams struct {
	CampaignID  string // 关联的推广系列ID（TikTok 需要）
	Name        string
	Template    interface{}
	PlatformExt map[string]interface{}
}

type AdParams struct {
	CampaignID  int64 // Ocean/KS 直接关联项目
	AdGroupID   int64 // TikTok 关联广告组
	Name        string
	Template    interface{}
	PlatformExt map[string]interface{}
}

// 定向包
type TargetingParams struct {
}
